This invention relates to a method and apparatus for controlling the solenoid current of a solenoid valve which controls the amount of suction air in an internal combustion engine, and more particularly, to a method and apparatus for controlling the solenoid current of a solenoid valve which controls the amount of suction air in an internal combustion engine wherein the solenoid current is controlled for proportionally controlling the opening of a solenoid valve connected in a by-pass path which couples the upstream and downstream sides of a throttle valve provided in a suction air path.
Referring to FIG. 11, it has been previously proposed that in idling of an internal combustion engine 10, the engine continues to run while a throttle valve 11, provided in a suction air path of the engine, is held in a substantially closed condition. The amount of suction air of the internal combustion engine is controlled by a solenoid valve 12 provided in a by-pass path 13 between the upstream and downstream side of the throttle valve in order to control the rotational speed of the engine (idling rotating speed). Such an idling rotational speed controlling method is disclosed in detail, for example, in Japanese Patent Application No. 60-137445.
The idling rotational speed controlling method in Japanese Patent Application No. 60-137445 includes a step of first calculating a solenoid current control value Icmd by an equation (1) given below in a central processor (CPU) 1 of a microprocessor 4 which, further includes, as shown in FIG. 2, a storage unit or memory 2 and an input/output signal converting circuit or interface 3.
In order to calculate Icmd in the CPU 1, the interface 3 must be supplied with signals from various sensors suitably located in the engine (not shown). This is well known in the art. EQU Icmd=[Ifb(n)+Ie+Ips+Iat+Iac].times.Kpad (1)
In equation (1), Ifb(n) is a feedback control term which is calculated in accordance with the flow chart of FIG. 3 which will be hereinafter described. Here, (n) indicates the present time value. The calculations of steps S41 to S46 of FIG. 3 are described as follows:
Step S41 . . . the value Me(n), which is the reciprocal of the engine rotational speed, is read.
Step S42 . . . a deviation .DELTA. Mef is calculated which is the difference between Me(n) thus read and Mrefo which is a reciprocal of a preset aimed idling rotational speed Nrefo.
Step S43 . . . a difference between Me(n) and a preceding time measured value Me for the same cylinder as Me(n) [in the case of a six cylinder engine, Me(n-6)], that is, a coefficient of variation .DELTA. Me of the period, is calculated.
Step S44 . . . an integration term Ii, a proportion term Ip, and a differentiation term Id are calculated in accordance with respective equations indicated in the block of FIG. 3 for the Step S44 using .DELTA. Me and .DELTA. Mef calculated above as well as an integration term control gain Kim, a proportion term control gain Kpm, and a differentiation term control gain Kdm. The control gains are obtained by recalling them from the memory 2 where they were stored in advance.
Step S45 . . . the integration term Ii obtained in the preceding Step S44 is added to Iai(n-1) to obtain Iai(n). Iai(n) obtained here is temporarily stored in the memory 2 so that this may be Iai(n-1) for the next cycle. However, when there is no value stored in the memory 2, some initial value of Iai may be stored in the memory 2 in advance to be read out therefrom as Iai(n-i).
Step S46 . . . Ip and Id calculated at Step S44 are added to Iai(n) calculated at Step S45 to obtain Ifb(n) which is defined as a feedback control term.
The terms in equation (1) other than Ifb(n) are defined as follows:
Ie . . . an addition correction term for adding a predetermined value in accordance with a load of an AC generator (ACG), that is, the field current of the ACG.
Ips . . . an addition correction term for adding a predetermined value when a pressure switch in a power steering hydraulic circuit is turned on.
Iat . . . an addition correction term for adding a predetermined value when the selector position of an automatic transmission AT is in the drive (D) range.
Iac . . . an addition correction term for adding a predetermined value when an air conditioner is operative.
Kpad . . . a multiplication correction term determined in accordance with the atmospheric pressure.
Icmd in equation (1) is calculated in response to TDC pulses produced by a known means when the piston of each cylinder is at an angle of 90.degree. before its top dead center.
Icmd calculated by equation (1) is further converted in the CPU 1, for example, into a duty ratio of pulse signals having a fixed period. The CPU 1 contains a periodic timer and a pulse signal high level time (pulse duration) timer which operates in a synchronized relationship so that pulse signals having a predetermined high level time or duration are successively developed from the microprocessor 4 for each predetermined period. The pulse signals are applied to the base of a solenoid driving transistor 5. Consequently, the transistor 5 is driven to be turned on and off in response to the pulse signals.
Referring to FIG. 2, in response to the on state of the solenoid driving transistor 5, an electric current from battery 6 flows through a solenoid 7 and the transistor 5 to the ground. Accordingly, the opening of a solenoid valve is controlled in accordance with the solenoid current, and an amount of suction air corresponding to the opening of the solenoid valve is supplied to the internal combustion engine to control the idling rotational speed.
Conventionally in a feedback control mode of the engine rotational speed, a determined value Ixref(n) is calculated by equation (2), below, and stored into the memory 2. EQU Ixref(n)=Iai(n).times.Ccrr/m+Ixref(n-1).times.(m-Ccrr)/m (2)
Iai(n) in equation (2) is a value calculated at Step S45 of FIG. 3 described above, and Ixref(n-1) indicates the value of the determined value Ixref for the preceding time period. Further, m and Ccrr are selected positive values, and m is selected greater than Ccrr.
The calculation of the value Ixref(n) is effected in response to a TDC pulse when predetermined requirements are met, such as, for example, a requirement that there is no external load such as an air conditioner, as is apparent from the above mentioned Japanese Patent Application No. 60-137445.
When the solenoid valve of the internal combustion engine turns from the feedback control mode to an open loop control mode which is effected during operation other than idling, a pulse signal is developed from the microprocessor 4 in response to Icmd which is equal to the determined value Ixref(n), and the current flowing through the solenoid 7 and hence the opening of the solenoid valve is held to a predetermined value corresponding to the determined value Ixref(n). This is because it is intended that the initial opening of the solenoid valve when the internal combustion engine switches from the open loop control mode back to the feedback control mode may approach as near as possible to the opening corresponding to Icmd in the feedback control mode sc that the time before a stabilized normal control condition is reached may be shortened.
Icmd in the open loop control mode is calculated by the following equation (3), similar to equation (1) above, so that pulse signals corresponding to the Icmd thus calculated may be developed from the microprocessor 4. EQU Icmd=(Ixref+Ie+Ips+Iat+Iac).times.Kpad (3)
If Icmd is calculated in this manner and the solenoid current is determined in accordance with pulse signals corresponding to Icmd when the internal combustion engine switches from the open loop control mode back to the feedback control mode, the initial opening is reached in which an external load such as, for example, an air conditioner, is taken in consideration. This is desirable because the time required before an opening corresponding to Icmd for the feedback control mode is reached is further shortened.
The techniques described above, however, have the following drawbacks:
The solenoid current control value Icmd is a value which is determined, in the feedback mode, from the engine rotational speed feedback control term Ifb(n) and the other correction terms as is apparent from equation (1) and is a theoretical value for controlling the opening of a solenoid valve within a range from 0% to 100% in order to bring the engine rotational speed close to an aimed idling rotational speed.
Even if the relationship of Icmd to the opening of the solenoid valve corresponding to the solenoid current, and hence to the amount of suction air, is a proportional one, there is the disadvantage that the intended opening of the solenoid valve and hence the intended amount of suction air which is expected as a result of Icmd cannot be obtained, as will be hereinafter described in detail, if Icmd is converted, for example, into a duty ratio of a pulse signal having a fixed period and the pulse signal is output from the microprocessor 4 to control the solenoid.
However, the change of the opening of the solenoid valve in response to the solenoid current, and accordingly, the change of the amount of suction air, does not exhibit a proportional relationship as seen in FIG. 12, and the change .DELTA. Q of the amount of suction air Q when the solenoid current I varies by an amount .DELTA. I, is different for each solenoid current region and is not constant. FIG. 12 is a diagram showing the relationship between the solenoid current I of the solenoid valve and the amount of suction air Q.
As a result, even if Icmd is converted into the on time or duration of a pulse signal having, for example, a fixed period as described above so that the solenoid current is controlled by the pulse signal developed in the microprocessor 4, there is the disadvantage that the opening of the solenoid valve which is determined by Icmd, that is, the intended amount of suction air cannot be obtained.
It may easily be understood that such circumstances likewise apply to the open loop control mode.